package hojadetrabajo7;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *esta es la interfaz de la cola con prioridad 
 * @param <E> 
 * @author RAUL
 */
public interface PriorityQueue <E extends Comparable<E>>
{
    

    /**
     * este metodo regresael primer valor de la cola 
     * @return
     */
    public E getFirst();
// pre: !isEmpty()
// post: returns the minimum value in priority queue
/**
 * este metodo retira el primer elemento 
 * @return
 */
public E remove();

// pre: !isEmpty()
// post: returns and removes minimum value from queue
/**
 * este metodo agrega a la lista con prioridad 
 * @param value
 */
public void add(E value);
// pre: value is non-null comparable
// post: value is added to priority queue
/**
 * este metodo revisa si esta vacia 
 * @return
 */
public boolean isEmpty();
// post: returns true iff no elements are in queue
/**
 * este metodo devuelve el tamano de la lista 
 * @return
 */
public int size();
// post: returns number of elements within queue
/**
 * este metodo borra o limpia la cola 
 */
public void clear();
// post: removes all elements from queue
}
    

